A closer look at file sharing

Let's look more closely at the SSWE, PWE1 and PWE2. Let's suppose that the

filebrowser project directory in the SSWE contains the following:

- The Project Description File

filebrowser.shared
- The project makefile
Makefile
- The following source files:
BrowserDoc.C , BrowserItems.C , ChangeDirDiag.C and filebrowser.C
- The Project Generate Directory, which contains Make support files and other generated files
The following figure shows the contents of the filebrowser project directory in the SSWE, PWE1 and PWE2. Let's assume that two developers named Jill and Peter own the PWEs. Jill owns and works in PWE1. Peter owns and works in PWE2. Both Jill and Peter share common source files located in the SSWE:

As the figure above shows, Jill has checked out only one file to the

filebrowser project directory in her PWE: BrowserItems.C . She has a read-only view to all other files.
Peter has checked out three files to the filebrowser project directory in his PWE: two source files ( BrowserDoc.C and filebrowser.C ) and the Project Description File ( filebrowser.shared ). He has a read-only view to all other files.

| Note
| To make structural changes to a SNiFF+ project, you must check out the project's Project Description File! Examples of structural changes are adding/removing project files and subprojects, and changing project attributes (e.g., names of project targets).

Note carefully in the figure that Jill has a read-only view to files checked out by Peter, and Peter has a read-only view to files checked out by Jill. That is, while Jill is making changes to her local copy of

BrowserItems.C in her PWE, Peter can only browse the original copy of the file located in the SSWE. And while Peter is making changes to his copies of BrowserDoc.C and filebrowser.C and filebrowser.shared , Jill can only browse the original copies of these files. This is an example of the exclusive file locking. When one team member has checked out a file in his/her PWE, all other team members can only browse this file.

| Note
| SNiFF+'s configuration management and version control (CMVC) interfaces provide for other file locking mechanisms as well. Your underlying CMVC tool determines which mechanisms are available for you to use.